package cn.tedu.csmall.product.mapper;

import cn.tedu.csmall.product.pojo.entity.Spu;
import cn.tedu.csmall.product.pojo.vo.SpuListItemVO;
import cn.tedu.csmall.product.pojo.vo.SpuStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface SpuMapper {

    /**
     * 插入一条spu数据
     * @param spu spu对象
     * @return
     */
    int insert(Spu spu);

    /**
     * 根据相册id统计数据数量
     * @param albumId
     * @return
     */
    int countByAlbumId(Long albumId);

    /**
     * 根据属性模板id查询数据数量
     * @param attributeTemplateId
     * @return
     */
    int countByAttributeTemplateId(Long attributeTemplateId);

    /**
     * 根据id删除spu
     * @param id
     * @return
     */
    int deleteById(Long id);


    /**
     * 根据id修改spu数据
     * @param spu
     * @return
     */
    int updateById(Spu spu);

    /**
     * 根据id获取spu数据表详情
     * @param id 被获取的数据id
     * @return
     */
    SpuStandardVO getSpuStandardVO(Long id);


    /**
     * 获取spu列表
     * @return
     */
    List<SpuListItemVO> list();
}
